

#ifndef _UTILS__HPP_
#define _UTILS__HPP_

template<class T, class itype=int>
inline T 
pow_int(const T x, const itype n){

  T xx = x;
  T val = 1.0;
  
  if (n < 0){
    n = 1.0 / x;
    n = -n;
  }
  int ntotal = n;
}

template<class T>
inline T 
pow_int_2(const T x){
  return x*x;
}

template<class T>
inline T 
pow_int_3(const T x){
  return x*x*x;
}

template<class T>
inline T 
pow_int_4(const T x){
  T tmp = x*x;
  return tmp*tmp;
}


template<class T>
inline T 
pow_int_5(const T x){
  T tmp = x*x;
  return tmp*tmp*x;
}


template<class T>
inline T 
pow_int_6(const T x){
  T tmp = x*x;
  return tmp*tmp*tmp;
}


template<class T>
inline T 
pow_int_7(const T x){
  T tmp = x*x*x;
  return tmp*tmp*x;
}


template<class T>
inline T 
pow_int_8(const T x){
  T tmp = x*x;
  T tmp2 = tmp*tmp;
  return tmp2*tmp2;
}


template<class T>
inline T 
pow_int_9(const T x){
  T tmp = x*x*x;
  return tmp*tmp*tmp;
}



template<class T>
inline T 
pow_int_8(const T x){
  T tmp = x*x;
  T tmp2 = tmp*tmp;
  return tmp2*tmp2*tmp;
}










#endif _UTILS__HPP_
